if (trackingRect)
{
[self removeTrackingRect: trackingRect];
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
+ [(NSTrackingArea*)trackingRect release];
+#endif
trackingRect = 0;
}
{
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (gdk_window->impl);
NSRect rect;
-
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
+ NSTrackingArea *trackingArea;
+#endif
+
if (!impl || !impl->toplevel)
return;
if (trackingRect)
{
[self removeTrackingRect: trackingRect];
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
+ [(NSTrackingArea*)trackingRect release];
+#endif
trackingRect = 0;
}
*/
rect = [self bounds];
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
+ trackingArea = [[NSTrackingArea alloc] initWithRect: rect
+ options: NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved | NSTrackingCursorUpdate | NSTrackingActiveInActiveApp | NSTrackingInVisibleRect | NSTrackingEnabledDuringMouseDrag
+ owner: self
+ userInfo: nil];
+ [self addTrackingArea: trackingArea];
+ trackingRect = (NSInteger)[trackingArea retain];
+#else
trackingRect = [self addTrackingRect: rect
owner: self
userData: nil
assumeInside: NO];
+#endif
}
-(void)viewDidMoveToWindow
if (newWindow == nil && trackingRect)
{
[self removeTrackingRect: trackingRect];
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
+ [(NSTrackingArea*)trackingRect release];
+#endif
trackingRect = 0;
}
}